package com.bosicloud.cmb.ibp.microplatform.service;


import com.bosicloud.cmb.ibp.microplatform.commom.model.*;
import com.bosicloud.cmb.ibp.microplatform.commom.vo.CreateMicroPlatformVO;
import com.bosicloud.cmb.ibp.microplatform.commom.vo.DeployServiceVO;
import com.bosicloud.cmb.ibp.microplatform.commom.vo.EnvListVO;
import com.bosicloud.cmb.ibp.microplatform.commom.vo.ProjectInfoVO;

import java.util.List;
import java.util.Optional;

public interface MicroPlatformManagerService {

    List<EnvListVO> searchEnvList(Integer userId);

    String createMicroServicePlatform(CreateMicroPlatformVO environmentVO);

    IbpPlatformInfo searchPlatformInfoByEnvironmentId(Integer mspEnvironmentId, String envName);

    IbpMspEnvironment searchMspEnvironmentByToken(String token);

    IbpMspEnvironment searchMspEnvironment(String envName, String clusterName);

    List<IbpCfNotifyMessage> searchCfNotifyMessage(String token);

    String deployService(DeployServiceVO deployServiceVO);

    List<IbpMspDeploy> searchMspDeployListByEnvironmentId(Integer mspEnvironmentId);

    IbpMspDeploy searchMspDeploy(IbpMspDeploy deploy);

    IbpApiAwsFailtMsg searchFailMsg(Integer deployId, String taskName);

    String saveProjectInfo(ProjectInfoVO projectInfoVO);

    Optional<IbpMspProjectInfo> searchProjectInfo(IbpMspProjectInfo projectInfo);

}
